// 导入封装的Promise函数
import { showToast } from '../../utils/wxAsync'

Page({

  /**
   * 页面的初始数据
   */
  data: {
    // 上传图片数组
    uploadImgList: [],
    // 文本输入域的值
    textValue: '',
    // 联系方式
    phoneNumber: '',
    textLength: 0
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

  },
  // 监听点击上传图片按钮事件
  handleUploadImg() {
    // 选择图片
    wx.chooseImage({
      // 图片数量
      count: 5,
      // 图片尺寸：原图、压缩
      sizeType: ['original', 'compressed'],
      // 图片来源：相册、相机
      sourceType: ['album', 'camera'],
      success: (res) => {
        // tempFilePath可以作为img标签的src属性显示图片
        const tempFilePaths = res.tempFilePaths
        this.setData({
          // 以便于用户再次选择图片，将之前的路径与再次路径拼接
          uploadImgList: [...this.data.uploadImgList, ...tempFilePaths]
        })
      }
    })
  },
  // 监听点击删除按钮，删除上传图片
  handleRemoveImg(e) {
    // 获取点击图片的索引值
    const { index } = e.currentTarget.dataset
    // 获取上传图片数组
    let { uploadImgList } = this.data
    // 删除图片
    uploadImgList.splice(index, 1)
    // 更新data数据
    this.setData({
      uploadImgList
    })
  },
  // 监听文本输入域输入事件
  handleTextInput(e) {
    let { value } = e.detail
    this.setData({
      textLength: value.length,
      textValue: value.trim()
    })
  },
  // 监听提交按钮点击事件
  async handleFormSubmit() {
    let { textValue, phoneNumber } = this.data
    // 验证合法性
    if (!textValue.trim()) {
      await showToast({title: '请输入有效的文字', icon: 'none'})
      // 重置输入框内容
      this.setData({
        textValue: ''
      })
      return
    }
    if (!(/^1[3456789]\d{9}$/.test(phoneNumber))) {
      await showToast({title: '手机号码格式不正确', icon: 'none'})
      // 重置输入框内容
      this.setData({
        phoneNumber: ''
      })
      return
    }
    await showToast({title: '暂未开放此功能', icon: 'none'})
  }
})